<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>contains</title>
<style type="text/css">
	body {background-color: white; color: black; font-family:sans-serif; font-size:medium;}
	a:link {color: #3300ff;}
	a:visited {color: #663399;}
	a:hover {color:#0099ff;}
	a:active {color: #0066cc;}
	a.button {text-decoration:none;}
	
	table.nav  {background-color: #dbddff;}
	table.body {margin-top:2ex; margin-bottom:2ex;}
	table.programlistingindent {margin-left:32px;}
	
	img { margin-bottom:0px; margin-top:0px;}
	tt {margin-left:0.5em; margin-right:0.5em; font-weight:lighter;}
	
	p {margin-top:0ex;}
	p.synopsis {margin-left:32px;}
	p.programlistingindent {margin-left:32px;}
	p.citetitle {margin-left:2em;}
	
	ul ul {list-style-type:square;}
	ul li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	ol li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	
	h1.reftitle {color:#a90000;}
	h1.reftitle {font-size:3.7ex; margin-top:0; margin-bottom:0; font-weight:bold}
	h1.title {color:black; font-size:4ex; margin-top:1ex; font-weight:bold}
	h2.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:3ex}
	h3.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h4.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex}
	h2 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h3 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex} 
	
	pre.programlisting {margin-left:32px;}
	pre.synopsis {margin-left:32px;}
	
	
	.categorytitle {margin-top:8px; padding-top:0px;}
	.categorylist {background-color: #e1e6f2;}
 	</style>
</head>
<body>
<a name="top_of_page"></a><p style="font-size:1px;"></p>
<h1 class="reftitle">contains</h1>
<h2>Purpose</h2>
<p>Test if a point is contained inside the union of polyhedra in the same dimension.</p>
<h2>Syntax</h2>
<pre class="synopsis">[isin, inwhich, closest] = contains(U, x, fastbreak)</pre>
<pre class="synopsis">[isin, inwhich, closest] = U.contains(x)</pre>
<pre class="synopsis">[isin, inwhich, closest] = U.contains(x, fastbreak)</pre>
<h2>Description</h2>
<p></p>
      Check if the point <tt>x</tt> is contained in any of the polyhedra stored in the union <tt>U</tt>.
      The result it the logical statement if <img src="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/contains1.png" alt="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/contains1.png"> and false otherwise. If the point
      is contained inside the union, indices of the corresponding polyhedra in which the point lie are returned. 
      If the point does not lie in the union, the index of the region with the least distance
      to the point <img src="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/contains2.png" alt="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/contains2.png"> is returned.
  <h2>Input Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody>
<tr valign="top">
<td><tt>U</tt></td>
<td>
<p></p>Single <tt>PolyUnion</tt> object that holds sets polyhedra in the same dimension.<p>
	    		Class: <tt>PolyUnion</tt></p>
</td>
</tr>
<tr valign="top">
<td><tt>x</tt></td>
<td>
<p></p>A point in the same dimension as the union.<p>
	    		Class: <tt>double</tt></p>
</td>
</tr>
<tr valign="top">
<td><tt>fastbreak</tt></td>
<td>
<p></p>Do a quick stop in the consecutive search when <tt>x</tt> is contained in the first polyhedron it founds.<p>
	    		Class: <tt>logical</tt><p>Allowed values:</p><ul>
<li><tt>true</tt></li>
<li><tt>false</tt></li>
</ul></p>
<p>
	    		Default: false</p>
</td>
</tr>
</tbody>
</table>
<h2>Output Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody>
<tr valign="top">
<td><tt>isin</tt></td>
<td>
<p></p>True if <img src="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/contains3.png" alt="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/contains3.png"> and false otherwise.<p>
	    		Class: <tt>logical</tt><p>Allowed values:</p><ul>
<li><tt>true</tt></li>
<li><tt>false</tt></li>
</ul></p>
</td>
</tr>
<tr valign="top">
<td><tt>inwhich</tt></td>
<td>
<p></p>Indices of sets that contain <img src="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/contains4.png" alt="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/contains4.png">. If the <tt>fastbreak</tt> option is turned on, a single index is returned. <p>
	    		Class: <tt>double</tt></p>
</td>
</tr>
<tr valign="top">
<td><tt>closest</tt></td>
<td>
<p></p>If the point is not contained inside the union, this output indicates the index of the set that is the closest to the point <tt>x</tt>.
           Note: since this computation is expensive, do not ask for the third output unless you really need it.
    <p>
	    		Class: <tt>double</tt></p>
</td>
</tr>
</tbody>
</table>
<h2>Example(s)</h2>
<h3>Example 
				1</h3>Create five polyhedra in 3D.<pre class="programlisting">for i=1:5, P(i) = ExamplePoly.randVrep('d',3)+rand(3,1); end </pre>
<pre class="programlisting"></pre> Create an union of these sets without specifying any properties.<pre class="programlisting"> U = PolyUnion(P); </pre>
<pre class="programlisting"></pre>Check if the point <img src="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/contains5.png" alt="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/contains5.png"> is contained in the union.<pre class="programlisting"> x = [1; -1; 0]; </pre>
<pre class="programlisting"></pre>
<pre class="programlisting">[isin, inwhich, closest] = U.contains(x) </pre>
<pre class="programlisting">
isin =

     0


inwhich =

   Empty matrix: 1-by-0


closest =

     5

</pre>
<h2>See Also</h2>
<a href="../../sets/@ConvexSet/feval.html">feval</a><p></p>
<table class="nav" summary="Navigation aid" border="0" width="100%" cellpadding="0" cellspacing="0"><tr valign="top">
<td align="left" width="20">
<a href="minus.html" class="button">&#9664;</a>  </td>
<td align="left">minus</td>
<td>  </td>
<td align="right">add</td>
<td align="right" width="20"><a href="add.html" class="button">&#9654;</a></td>
</tr></table>
<br><p>©  <b>2010-2013</b>     Martin Herceg: ETH Zurich,    <a href="mailto:herceg@control.ee.ethz.ch">herceg@control.ee.ethz.ch</a></p>
<p>©  <b>2003-2013</b>     Michal Kvasnica: STU Bratislava,    <a href="mailto:michal.kvasnica@stuba.sk">michal.kvasnica@stuba.sk</a></p>
</body>
</html>
